package com.ruoyi.develop.factory.factoryProducePlan.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 生产计划对象 factory_produce_plan
 *
 * @author qh
 * @date 2024-11-06
 */
public class FactoryProducePlan extends BaseEntity {
private static final long serialVersionUID=1L;

    /** 主键 */
    private String id;

    /** 状态 */
    @Excel(name = "状态")
    private String status;

    /** 删除标志 */
    private String delFlag;

    /** 采购方总部编码 */
    @Excel(name = "采购方总部编码")
    private String purchaserHqCode;

    /** 供应商编码 */
    @Excel(name = "供应商编码")
    private String supplierCode;

    /** 供应商名称 */
    @Excel(name = "供应商名称")
    private String supplierName;

    /** 采购订单行项目 id */
    @Excel(name = "采购订单行项目 id")
    private String poItemId;

    /** 排产计划编码 */
    @Excel(name = "排产计划编码")
    private String scheduleCode;

    /** 省公司单位编码 */
    @Excel(name = "省公司单位编码")
    private String provCoCode;

    /** 省公司单位名称 */
    @Excel(name = "省公司单位名称")
    private String provCoName;

    /** 计划工期（天数） */
    @Excel(name = "计划工期", readConverterExp = "天=数")
    private String planPeriod;

    /** 实际工期 */
    @Excel(name = "实际工期")
    private String actualPeriod;

    /** 进度 */
    @Excel(name = "进度")
    private String schedule;

    /** 交付日期（最后日期，底线） */
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    @Excel(name = "交付日期", readConverterExp = "最=后日期，底线")
    private Date dueDate;

    /** 计划开始日期 */
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    @Excel(name = "计划开始日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date planStartDate;

    /** 计划完成日期 */
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    @Excel(name = "计划完成日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date planFinishDate;

    /** 实际开始日期 */
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    @Excel(name = "实际开始日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date actualStartDate;

    /** 实际完成日期 */
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    @Excel(name = "实际完成日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date actualFinishDate;

    /** 品类编码 */
    @Excel(name = "品类编码")
    private String categoryCode;

    /** 种类编码 */
    @Excel(name = "种类编码")
    private String subclassCode;

    /** 数据来源 */
    @Excel(name = "数据来源")
    private String dataSource;

    /** 来源数据创建时间 */
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    @Excel(name = "来源数据创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date dataSourceCreateTime;

    /** 数据拥有方 */
    @Excel(name = "数据拥有方")
    private String ownerId;

    /** 数据可见方 */
    @Excel(name = "数据可见方")
    private String openId;

    private String projectId;

    private String projectCode;

    public String getProjectCode() {
        return projectCode;
    }

    public void setProjectCode(String projectCode) {
        this.projectCode = projectCode;
    }

    public String getProjectId() {
        return projectId;
    }

    public void setProjectId(String projectId) {
        this.projectId = projectId;
    }

    public void setId(String id)
            {
            this.id = id;
            }

    public String getId()
            {
            return id;
            }
    public void setStatus(String status)
            {
            this.status = status;
            }

    public String getStatus()
            {
            return status;
            }
    public void setDelFlag(String delFlag)
            {
            this.delFlag = delFlag;
            }

    public String getDelFlag()
            {
            return delFlag;
            }
    public void setPurchaserHqCode(String purchaserHqCode)
            {
            this.purchaserHqCode = purchaserHqCode;
            }

    public String getPurchaserHqCode()
            {
            return purchaserHqCode;
            }
    public void setSupplierCode(String supplierCode)
            {
            this.supplierCode = supplierCode;
            }

    public String getSupplierCode()
            {
            return supplierCode;
            }
    public void setSupplierName(String supplierName)
            {
            this.supplierName = supplierName;
            }

    public String getSupplierName()
            {
            return supplierName;
            }
    public void setPoItemId(String poItemId)
            {
            this.poItemId = poItemId;
            }

    public String getPoItemId()
            {
            return poItemId;
            }
    public void setScheduleCode(String scheduleCode)
            {
            this.scheduleCode = scheduleCode;
            }

    public String getScheduleCode()
            {
            return scheduleCode;
            }
    public void setProvCoCode(String provCoCode)
            {
            this.provCoCode = provCoCode;
            }

    public String getProvCoCode()
            {
            return provCoCode;
            }
    public void setProvCoName(String provCoName)
            {
            this.provCoName = provCoName;
            }

    public String getProvCoName()
            {
            return provCoName;
            }
    public void setPlanPeriod(String planPeriod)
            {
            this.planPeriod = planPeriod;
            }

    public String getPlanPeriod()
            {
            return planPeriod;
            }
    public void setActualPeriod(String actualPeriod)
            {
            this.actualPeriod = actualPeriod;
            }

    public String getActualPeriod()
            {
            return actualPeriod;
            }
    public void setSchedule(String schedule)
            {
            this.schedule = schedule;
            }

    public String getSchedule()
            {
            return schedule;
            }
    public void setDueDate(Date dueDate)
            {
            this.dueDate = dueDate;
            }

    public Date getDueDate()
            {
            return dueDate;
            }
    public void setPlanStartDate(Date planStartDate)
            {
            this.planStartDate = planStartDate;
            }

    public Date getPlanStartDate()
            {
            return planStartDate;
            }
    public void setPlanFinishDate(Date planFinishDate)
            {
            this.planFinishDate = planFinishDate;
            }

    public Date getPlanFinishDate()
            {
            return planFinishDate;
            }
    public void setActualStartDate(Date actualStartDate)
            {
            this.actualStartDate = actualStartDate;
            }

    public Date getActualStartDate()
            {
            return actualStartDate;
            }
    public void setActualFinishDate(Date actualFinishDate)
            {
            this.actualFinishDate = actualFinishDate;
            }

    public Date getActualFinishDate()
            {
            return actualFinishDate;
            }
    public void setCategoryCode(String categoryCode)
            {
            this.categoryCode = categoryCode;
            }

    public String getCategoryCode()
            {
            return categoryCode;
            }
    public void setSubclassCode(String subclassCode)
            {
            this.subclassCode = subclassCode;
            }

    public String getSubclassCode()
            {
            return subclassCode;
            }
    public void setDataSource(String dataSource)
            {
            this.dataSource = dataSource;
            }

    public String getDataSource()
            {
            return dataSource;
            }
    public void setDataSourceCreateTime(Date dataSourceCreateTime)
            {
            this.dataSourceCreateTime = dataSourceCreateTime;
            }

    public Date getDataSourceCreateTime()
            {
            return dataSourceCreateTime;
            }
    public void setOwnerId(String ownerId)
            {
            this.ownerId = ownerId;
            }

    public String getOwnerId()
            {
            return ownerId;
            }
    public void setOpenId(String openId)
            {
            this.openId = openId;
            }

    public String getOpenId()
            {
            return openId;
            }

    @Override
    public String toString(){
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id",getId())
            .append("status",getStatus())
            .append("remark",getRemark())
            .append("createBy",getCreateBy())
            .append("createTime",getCreateTime())
            .append("updateBy",getUpdateBy())
            .append("updateTime",getUpdateTime())
            .append("delFlag",getDelFlag())
            .append("purchaserHqCode",getPurchaserHqCode())
            .append("supplierCode",getSupplierCode())
            .append("supplierName",getSupplierName())
            .append("poItemId",getPoItemId())
            .append("scheduleCode",getScheduleCode())
            .append("provCoCode",getProvCoCode())
            .append("provCoName",getProvCoName())
            .append("planPeriod",getPlanPeriod())
            .append("actualPeriod",getActualPeriod())
            .append("schedule",getSchedule())
            .append("dueDate",getDueDate())
            .append("planStartDate",getPlanStartDate())
            .append("planFinishDate",getPlanFinishDate())
            .append("actualStartDate",getActualStartDate())
            .append("actualFinishDate",getActualFinishDate())
            .append("categoryCode",getCategoryCode())
            .append("subclassCode",getSubclassCode())
            .append("dataSource",getDataSource())
            .append("dataSourceCreateTime",getDataSourceCreateTime())
            .append("ownerId",getOwnerId())
            .append("openId",getOpenId())
        .toString();
    }
}
